package com.wicket.okrfinance.biz.service.dto.res;

import com.wicket.okrfinance.biz.service.dto.common.TargetBudgetSetDto;
import com.wicket.okrfinance.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementReceiveFieldInputRespDto
 * @使用场景
 */
@Data
public class ImplementReceiveFieldInputRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 账户ID
   */
  @ApiModelProperty("账户ID")
  private String accountId;
/**
     * 是否允许操作 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否允许操作")
    private String	 isAllowOpt;
/**
     * 是否组织正式财务标准 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否组织正式财务标准")
    private String	 isOrgOfficialAccountNom;
/**
     * 自定义字段1
     */
    @ApiModelProperty("自定义字段1")
    private String	 customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("自定义字段2")
    private String	 customField2;
/**
     * 数据类型编码 FROM_LAST_BUDGET:预算较上次变化 FROM_LAST_RATIO_BUDGET:预算较上次增降幅 FUNDS_USE_PROGRESS:资金使用进度 BUDGET_USABLE:预算可用金额 BUDGET_FROZEN:预算冻结金额 CUMULATIVE_BUDGET:累计结算金额 BUDGET_TOTAL:预算账户累计总金额 FUNDS_RECEIVED_USABLE:实体账户可用金额 FUNDS_RECEIVED_FROZEN:实体账户冻结金额 FUNDS_RECEIVED_TOTAL:实体账户累计到账总金额 ACTUAL_VALUE:实际值 COUNT_ACTUAL_VALUE:计算实际值 CHANGE_FROM_LAST_TARGET:较上次目标变化值 COUNT_CHANGE_FROM_LAST_TARGET:计算较上次目标变化值 FROM_LAST_TARGET_LIFT_RATIO:较上次目标增降幅 COUNT_FROM_LAST_TARGET_LIFT_RATIO:计算较上次目标增降幅 PROGRESS_VALUE:进度值 COUNT_PROGRESS_VALUE:计算进度值 FROM_LAST_PROGRESS_VALUE:进度较上次变化值 COUNT_FROM_LAST_PROGRESS_VALUE:计算进度较上次变化值 PROGRESS_FROM_LAST_RATIO:进度较上次增降幅 COUNT_PROGRESS_FROM_LAST_RATIO:计算进度较上次增降幅 REACH:达成度 COUNT_REACH:计算达成度 FROM_LAST_REACH:达成度较上次变化值 COUNT_FROM_LAST_REACH:计算达成度较上次变化值 ACTUAL_FROM_LAST_TIME_RATIO:达成度较上次增降福 COUNT_FROM_LAST_REACH_RATIO:计算达成度较上次增降福 FUNDS_RECEIVED:到账金额 FUNDS_RECEIVED_FROM_LAST:到账较上次变化值 CUMULATIVE_FUNDS_RECEIVED:累计使用金额 FUNDS_AUTO_RECEIVED:资金自动到账金额 FUNDS_EXPEND:资金支出金额 FUNDS_EXPEND_FROM_LAST:资金支出较上次变化值 CUMULATIVE_FUNDS_EXPEND:累计支出资金 BUDGET_AMOUNT:预算账户余额 FUNDS_RECEIVED_BALANCE:实体账户余额 SUBJECTIVE_MARK:主观评分 SUBJECTIVE_SCORE:主观得分 OBJECTIVE_SCORE:客观得分 PROCESS_SCORE:过程得分 FROM_LAST_REPORT_SCORE:汇报得分较上次变化值 RESULT_SCORE:结果得分 FROM_LAST_RATIO_REPORT_SCORE:汇报得分较上次增降幅 REAL_TIME_SCORE:实时得分 FROM_LAST_ACTUAL_SCORE:实际得分较上次变化值 GIVE_LIKES:点赞数 FROM_LAST_RATIO_ACTUAL_SCORE:实际得分较上次增降幅 DELAY_SURPLUS_LENGTH:延后或剩余天数 SUB_REPORT_AVG_SCORE:子周期汇报平均分 LAST_REPORT_AVG_SCORE:末级周期汇报平均分 RECENTLY_REPORT_AVG_SCORE:最近周期汇报平均分 PROCESS_REPORT_MID_SCORE:过程汇报中期得分 SUB_PROCESS_REPORT_SCORE:子周期过程汇报得分 MID_PROCESS_REPORT_SCORE:中期过程汇报得分 FATHER_PROCESS_REPORT_SCORE:父周期过程汇报得分 CURRENT_SUBJECTIVE_SCORE:当前主观得分 PROCESS_SUBJECTIVE_SCORE:过程主观得分 LOCAL_LEVEL_SCORE:本级得分 LOWER_LEVEL_SCORE:下级得分 ACTUAL_SCORE:实际得分 ROLE_SUBJECTIVE_SCORE:角色主观得分 SUB_ACTUAL_SCORE:子周期实际得分 MID_ACTUAL_SCORE:中期实际得分 FATHER_ACTUAL_SCORE:父周期实际得分 LOW_KR_ACTUAL_SCORE:下级KR实际得分 SUBJECTIVE_AND_OBJECTIVE_SCORE:主客观得分 BUDGET:预算金额 FUNDS_RECEIVED_FROM_LAST_RATIO:到账较上次增降幅 BUDGET_DISBURSE:预算支出金额 FATHER_CYCLE_REPORT_SCORE:父周期汇报得分 MID_CYCLE_REPORT_SCORE:中期汇报得分 LOWER_PROCESS_CYCLE_REPORT_SCORE:下级过程周期汇报得分 SUB_CYCLE_REPORT_SCORE:子周期汇报得分 LOWER_WORK_CYCLE_REPORT_SCORE:下级工作周期实际得分 LAST_CYCLE_REPORT_SCORE:末级周期汇报得分 NOT_LAST_PROCESS_CYCLE_REPORT_SCORE:中间周期汇报得分 SOURCE_BUDGET_FUNDS_PROP:预算资金来源占比 TARGET_CYCLE_BUDGET_FUNDS_PROP:预算周期占比 ADD_BUDGET:加预算 SUB_BUDGET:减预算 REPORT_SCORE:汇报得分 PROCESS_REPORT_SCORE:过程汇报得分 REPORT_AVG_SCORE:汇报平均分
     */
    @ApiModelProperty("数据类型编码")
    private String	 dataType;
@ApiModelProperty("目标预算设置列表 ")
List<TargetBudgetSetDto> targetBudgetSetList = new ArrayList<>();

    /**
     * 周期预算金额 
     */
    @ApiModelProperty("周期预算金额")
    private Double	 cycleBudgetAmount;
/**
     * 自定义字段3 
     */
    @ApiModelProperty("自定义字段3")
    private String	 customField3;
/**
     * 预算是否已设置 TRUE:是 FALSE:否
     */
    @ApiModelProperty("预算是否已设置")
    private String	 isBudgetSeted;
/**
     * 自定义字段 
     */
    @ApiModelProperty("自定义字段")
    private String	 customField;
@ApiModelProperty("财务资金来源列表 ")
List<String> accountCapitalSourceList = new ArrayList<>();
/**
     * 总金额 
     */
    @ApiModelProperty("总金额")
    private Double	 totalBudgetAmount;

    /**
     * 账户余额 
     */
    @ApiModelProperty("账户余额")
    private Double	 accountActualBalance;

    /**
     * 可用金额 
     */
    @ApiModelProperty("可用金额")
    private Double	 settlableBalance;

    /**
     * 冻结金额 
     */
    @ApiModelProperty("冻结金额")
    private Double	 unSettlableBalance;

    /**
     * 累计结算金额 
     */
    @ApiModelProperty("累计结算金额")
    private Double	 accruedSettledAmount;
/**
     * 内容是否有财务账户 TRUE:是 FALSE:否
     */
    @ApiModelProperty("内容是否有财务账户")
    private String	 isHaveFinanceAccount;

    /**
     * 预算账户ID 
     */
    @ApiModelProperty("预算账户ID")
    private String	 budgetAccountId;

    /**
     * 实体账户ID 
     */
    @ApiModelProperty("实体账户ID")
    private String	 physicalAccountId;
/**
     * 资金使用率 
     */
    @ApiModelProperty("资金使用率")
    private Double	 fundUsageRate;
/**
     * 扣减预算账户ID
     */
    @ApiModelProperty("扣减预算账户ID")
    private String	 relSubBudgetAccountId;
/**
     * 自定义字段4 
     */
    @ApiModelProperty("自定义字段4")
    private String	 customField4;
/**
     * 排队最小值 
     */
    @ApiModelProperty("排队最小值")
    private Integer	 queueMinimum;
/**
     * 排队最大值 
     */
    @ApiModelProperty("排队最大值")
    private Integer	 queueMaximum;
/**
     * 是否 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否")
    private String	 tureOrFalse;

    /**
     * 是否开启资金到账 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启资金到账")
    private String	 isOpenFundsArrival;

}
